home *** CD-ROM | disk | FTP | other *** search
- /*
- File: MoviesFormat.h
-
- Copyright: © 1991-1994 by Apple Computer, Inc., all rights reserved.
-
- */
-
- #ifndef __MOVIESFORMAT__
- #define __MOVIESFORMAT__
-
- #ifndef __MOVIES__
- #include <Movies.h>
- /* #include <Quickdraw.h> */
- /* #include <Types.h> */
- /* #include <ConditionalMacros.h> */
- /* #include <MixedMode.h> */
- /* #include <Traps.h> */
- /* #include <QuickdrawText.h> */
- /* #include <IntlResources.h> */
- /* #include <Aliases.h> */
- /* #include <AppleTalk.h> */
- /* #include <OSUtils.h> */
- /* #include <Files.h> */
- /* #include <SegLoad.h> */
- /* #include <Events.h> */
- /* #include <ToolUtils.h> */
- /* #include <TextUtils.h> */
- /* #include <Script.h> */
- /* #include <FixMath.h> */
- /* #include <Menus.h> */
- /* #include <Components.h> */
- /* #include <ImageCompression.h> */
- /* #include <QDOffscreen.h> */
- /* #include <StandardFile.h> */
- /* #include <Dialogs.h> */
- /* #include <Windows.h> */
- /* #include <Controls.h> */
- /* #include <TextEdit.h> */
- #endif
-
- #define kMovieVersion (0)
-
- #ifndef kSmallestArray
- #endif
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MoviesUserData {
- long size;
- long type;
- char data[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MoviesUserData MoviesUserData;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct UserDataAtom {
- long size;
- long type;
- MoviesUserData userData[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct UserDataAtom UserDataAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct SampleDescriptionAtom {
- long size;
- long type;
- long flags;
- long numEntries;
- SampleDescription sampleDescTable[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct SampleDescriptionAtom SampleDescriptionAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TimeToSampleNum {
- long sampleCount;
- TimeValue sampleDuration;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TimeToSampleNum TimeToSampleNum;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TimeToSampleNumAtom {
- long size;
- long type;
- long flags;
- long numEntries;
- TimeToSampleNum timeToSampleNumTable[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TimeToSampleNumAtom TimeToSampleNumAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct SyncSampleAtom {
- long size;
- long type;
- long flags;
- long numEntries;
- long syncSampleTable[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct SyncSampleAtom SyncSampleAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct SampleToChunk {
- long firstChunk;
- long samplesPerChunk;
- long sampleDescriptionID;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct SampleToChunk SampleToChunk;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct SampleToChunkAtom {
- long size;
- long type;
- long flags;
- long numEntries;
- SampleToChunk sampleToChunkTable[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct SampleToChunkAtom SampleToChunkAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct ChunkOffsetAtom {
- long size;
- long type;
- long flags;
- long numEntries;
- long chunkOffsetTable[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct ChunkOffsetAtom ChunkOffsetAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct SampleSizeAtom {
- long size;
- long type;
- long flags;
- long sampleSize;
- long numEntries;
- long sampleSizeTable[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct SampleSizeAtom SampleSizeAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct ShadowSync {
- long fdSampleNum;
- long syncSampleNum;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct ShadowSync ShadowSync;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct ShadowSyncAtom {
- long size;
- long type;
- long flags;
- long numEntries;
- ShadowSync shadowSyncTable[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct ShadowSyncAtom ShadowSyncAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct SampleTableAtom {
- long size;
- long type;
- SampleDescriptionAtom sampleDescription;
- TimeToSampleNumAtom timeToSampleNum;
- SampleToChunkAtom sampleToChunk;
- SyncSampleAtom syncSample;
- SampleSizeAtom sampleSize;
- ChunkOffsetAtom chunkOffset;
- ShadowSyncAtom shadowSync;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct SampleTableAtom SampleTableAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct PublicHandlerInfo {
- long flags;
- long componentType;
- long componentSubType;
- long componentManufacturer;
- long componentFlags;
- long componentFlagsMask;
- char componentName[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct PublicHandlerInfo PublicHandlerInfo;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct HandlerAtom {
- long size;
- long type;
- PublicHandlerInfo hInfo;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct HandlerAtom HandlerAtom;
-
- typedef long DataRefAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct DataInfoAtom {
- long size;
- long type;
- DataRefAtom dataRef;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct DataInfoAtom DataInfoAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct RgnAtom {
- long size;
- long type;
- short rgnSize;
- Rect rgnBBox;
- char data[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct RgnAtom RgnAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MatteCompressedAtom {
- long size;
- long type;
- long flags;
- ImageDescription matteImageDescription;
- char matteData[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MatteCompressedAtom MatteCompressedAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MatteAtom {
- long size;
- long type;
- MatteCompressedAtom aCompressedMatte;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MatteAtom MatteAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct ClippingAtom {
- long size;
- long type;
- RgnAtom aRgnClip;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct ClippingAtom ClippingAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct VideoMediaInfoHeader {
- long flags;
- short graphicsMode;
- short opColorRed;
- short opColorGreen;
- short opColorBlue;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct VideoMediaInfoHeader VideoMediaInfoHeader;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct VideoMediaInfoHeaderAtom {
- long size;
- long type;
- VideoMediaInfoHeader vmiHeader;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct VideoMediaInfoHeaderAtom VideoMediaInfoHeaderAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct VideoMediaInfo {
- long size;
- long type;
- VideoMediaInfoHeaderAtom header;
- HandlerAtom dataHandler;
- DataInfoAtom dataInfo;
- SampleTableAtom sampleTable;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct VideoMediaInfo VideoMediaInfo;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct SoundMediaInfoHeader {
- long flags;
- short balance;
- short rsrvd;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct SoundMediaInfoHeader SoundMediaInfoHeader;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct SoundMediaInfoHeaderAtom {
- long size;
- long type;
- SoundMediaInfoHeader smiHeader;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct SoundMediaInfoHeaderAtom SoundMediaInfoHeaderAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct SoundMediaInfo {
- long size;
- long type;
- SoundMediaInfoHeaderAtom header;
- HandlerAtom dataHandler;
- DataRefAtom dataReference;
- SampleTableAtom sampleTable;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct SoundMediaInfo SoundMediaInfo;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MediaInfo {
- long size;
- long type;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MediaInfo MediaInfo;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MediaHeader {
- long flags;
- long creationTime;
- long modificationTime;
- TimeValue timeScale;
- TimeValue duration;
- short language;
- short quality;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MediaHeader MediaHeader;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MediaHeaderAtom {
- long size;
- long type;
- MediaHeader header;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MediaHeaderAtom MediaHeaderAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MediaDirectory {
- long size;
- long type;
- MediaHeaderAtom mediaHeader;
- HandlerAtom mediaHandler;
- MediaInfo mediaInfo;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MediaDirectory MediaDirectory;
-
- enum {
- TrackEnable = 1 << 0,
- TrackInMovie = 1 << 1,
- TrackInPreview = 1 << 2,
- TrackInPoster = 1 << 3
- };
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TrackHeader {
- long flags;
- long creationTime;
- long modificationTime;
- long trackID;
- long reserved1;
- TimeValue duration;
- long reserved2;
- long reserved3;
- short layer;
- short alternateGroup;
- short volume;
- short reserved4;
- MatrixRecord matrix;
- Fixed trackWidth;
- Fixed trackHeight;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TrackHeader TrackHeader;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TrackHeaderAtom {
- long size;
- long type;
- TrackHeader header;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TrackHeaderAtom TrackHeaderAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct EditListType {
- TimeValue trackDuration;
- TimeValue mediaTime;
- Fixed mediaRate;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct EditListType EditListType;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct EditListAtom {
- long size;
- long type;
- long flags;
- long numEntries;
- EditListType editListTable[1];
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct EditListAtom EditListAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct EditsAtom {
- long size;
- long type;
- EditListAtom editList;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct EditsAtom EditsAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TrackLoadSettings {
- TimeValue preloadStartTime;
- TimeValue preloadDuration;
- long preloadFlags;
- long defaultHints;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TrackLoadSettings TrackLoadSettings;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TrackLoadSettingsAtom {
- long size;
- long type;
- TrackLoadSettings settings;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TrackLoadSettingsAtom TrackLoadSettingsAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct TrackDirectory {
- long size;
- long type;
- TrackHeaderAtom trackHeader;
- ClippingAtom trackClip;
- EditsAtom edits;
- MediaDirectory media;
- UserDataAtom userData;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct TrackDirectory TrackDirectory;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MovieHeader {
- long flags;
- long creationTime;
- long modificationTime;
- TimeValue timeScale;
- TimeValue duration;
- Fixed preferredRate;
- short preferredVolume;
- short reserved1;
- long preferredLong1;
- long preferredLong2;
- MatrixRecord matrix;
- TimeValue previewTime;
- TimeValue previewDuration;
- TimeValue posterTime;
- TimeValue selectionTime;
- TimeValue selectionDuration;
- TimeValue currentTime;
- long nextTrackID;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MovieHeader MovieHeader;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MovieHeaderAtom {
- long size;
- long type;
- MovieHeader header;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MovieHeaderAtom MovieHeaderAtom;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct MovieDirectory {
- long size;
- long type;
- MovieHeaderAtom header;
- ClippingAtom movieClip;
- struct {
- TrackDirectory trackDirectory;
- } track[1];
- UserDataAtom userData;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct MovieDirectory MovieDirectory;
-
- #define MOVIE_TYPE 'moov'
-
- #define TRACK_TYPE 'trak'
-
- #define MEDIA_TYPE 'mdia'
-
- #define VIDEO_TYPE 'vide'
-
- #define SOUND_TYPE 'soun'
-
- #define MovieAID 'moov'
-
- #define MovieHeaderAID 'mvhd'
-
- #define ClipAID 'clip'
-
- #define RgnClipAID 'crgn'
-
- #define MatteAID 'matt'
-
- #define MatteCompAID 'kmat'
-
- #define TrackAID 'trak'
-
- #define UserDataAID 'udta'
-
- #define TrackHeaderAID 'tkhd'
-
- #define EditsAID 'edts'
-
- #define EditListAID 'elst'
-
- #define MediaAID 'mdia'
-
- #define MediaHeaderAID 'mdhd'
-
- #define MediaInfoAID 'minf'
-
- #define VideoMediaInfoHeaderAID 'vmhd'
-
- #define SoundMediaInfoHeaderAID 'smhd'
-
- #define GenericMediaInfoHeaderAID 'gmhd'
-
- #define GenericMediaInfoAID 'gmin'
-
- #define DataInfoAID 'dinf'
-
- #define DataRefAID 'dref'
-
- #define SampleTableAID 'stbl'
-
- #define STSampleDescAID 'stsd'
-
- #define STTimeToSampAID 'stts'
-
- #define STSyncSampleAID 'stss'
-
- #define STSampleToChunkAID 'stsc'
-
- #define STShadowSyncAID 'stsh'
-
- #define HandlerAID 'hdlr'
-
- #define STSampleSizeAID 'stsz'
-
- #define STChunkOffsetAID 'stco'
-
- #define DataRefContainerAID 'drfc'
-
- #define TrackReferenceAID 'tref'
-
- #define ColorTableAID 'ctab'
-
- #define LoadSettingsAID 'load'
-
- #endif
-
-